/*
 * Copyright (C), 2013, 上海汽车集团股份有限公司
 * FileName: TransactionOperation.java
 * Author:   12010065
 * Date:     2013年10月9日 下午2:03:55
 * Description: //模块目的、功能描述
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.ibm.framework.dal.transaction;

import javax.sql.DataSource;

import com.ibm.framework.dal.resource.XmlResource;
import com.ibm.framework.dal.transaction.template.TransactionTemplate;

/**
 * 
 * 编程式事务处理层
 * 
 * @author 12010065
 */
public abstract class TransactionOperation extends XmlResource {
    /**
     * 
     * 功能描述: <br>
     * 获取非分库事务模板
     * 
     * @return 非分库事务模板
     */
    public TransactionTemplate getTransactionTemplate() {
        return getTransactionTemplate(new Object());
    }

    /**
     * 
     * 功能描述: <br>
     * 获取分库事务模板
     * 
     * @param param 分库参数
     * @return 分库事务模板
     */
    public TransactionTemplate getTransactionTemplate(Object param) {
        /** 分库路由数据源 */
        DataSource dataSource = routeDataSource(param, null);
        return new TransactionTemplate(dataSource);
    }
}
